Обробка символьних рядків. Робота з файлами

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмічні мови та програмування

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра З В І Т до лабораторної роботи №4 з курсу: «Алгоритмічні мови та програмування» на тему: «Обробка символьних рядків. Робота з файлами» Варіант № 3 МЕТА РОБОТИ: вивчити елементи мови Сі, рядки, рядкові константи, принципи потокового вводу-виводу, стандартні файли і функції для роботи з ними. ЗАВДАННЯ Сформувати і вивести на екран текстовий файл, в якому містяться слова які починаються на голосні літери. Підрахувати кількість слів, в яких кількість символів більша трьох. СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ І ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ i,k – змінні цілого типу; c – символьна змінна, яка в яку записується поточний символ вхідного файлу; main() – головна функція; isvowel() – функція перевірки на гласність букви isalpha() – функція перевірки чи є символ буквою fprintf() – функція виводу в файл; exit() – функція виходу з програми; fopen() – функція відкриття файлу; fclose() – функція закриття файлу; ТЕКСТ ПРОГРАМИ #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<ctype.h> bool isvowel(char ch); void main() { FILE *f, *fp; f=fopen("1.txt", "r"); if(f==NULL) { perror("1.txt is INCORRECT"); exit(0); } fp=fopen("2.txt", "w"); if(fp==NULL) { perror("2.txt is INCORRECT"); exit(0); } char c=NULL, x=NULL; while((c=fgetc(f))!=EOF) { if(!isalpha(x) && isalpha(c) && isvowel(c)) { fprintf(fp," %c",c); while((c=fgetc(f))!=EOF) { if(isalpha(c)) fprintf(fp,"%c",c); else break; } } x=c; } fseek(f, 0L, SEEK_SET); char a[5]; int count=0; int flag=0; while(!feof(f)) { if(flag==0) a[0]=getc(f); else a[0]=a[flag]; if(a[0]!=EOF && !isalpha(a[0])) { a[1]=getc(f); flag=1; if(isalpha(a[1])) { a[2]=getc(f); flag=2; if(isalpha(a[2])) { a[3]=getc(f); flag=3; if(isalpha(a[3])) { a[4]=getc(f); flag=4; if(isalpha(a[4])) { count++; flag=0; } } } } } } fprintf(fp,"\n Number of words : %d ",count); fclose(f); fclose(fp); } bool isvowel(char ch) { char vowels[] = "aeiouy"; bool flag; if(isupper(ch)) ch=tolower(ch); for(int i=0; i<6; i++) { flag=0; if(ch==vowels[i]) { flag=1; break; } } return flag; } РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ #include<stdio.h> #include<math.h> #define n 5 void sort(int a[n][n]); void sum(int a[n][n]); void main () { int a[n][n]; printf("Input elements of array:\n"); for (int i=0; i<n; i++) for (int j=0; j<n; j++) scanf("%d", &a[i][j]); printf("\n====== YOUR ARRAY ======= \n"); for (int i=0; i<n; i++) { for (int j=0; j<n; j++) printf ("%d\t", a[i][j]); printf("\n"); } sum(a); sort(a); printf("\n====== SORTED ARRAY ======\n"); for (int i=0; i<n; i++) { for (int j=0; j<n; j++) printf ("%d\t", a[i][j]); printf("\n"); } } void sort(int a[n][n]) { for (int j=0; j<n; j++) { int p,buf; for (int i=0; i<n; i++) { buf=a[i][j]; p=i-1; while(a[p][j] < buf && p>=0) { a[p+1][j] = a[p][j]; p--; } a[p+1][j] = buf; } } } void sum(int a[n][n]) { int max=0,suma=0; for (int i=0; i<n; i++) { max=a[i][0]; for(int j=0; j<n; j++) { if (a[i][j]>max) max=a[i][j]; } printf("Maximum element of %d line: %d \n", i+1, max); suma+=max; } printf("Sum of maximum : %d\n", suma); } include include int a int a int a Input elements of array int i i i int a i YOUR ARRAY int i i i int a i a a ARRAY int i i i int a i int a int int int i i i a i i a a a a int a int int i i i a i int if a i a i element of i of Number of words : 39
Антиботан аватар за замовчуванням

25.01.2014 19:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини